\documentclass[xcolor=pdftex,dvipsnames,table]{beamer}
\usepackage[utf8]{inputenc}
\usepackage[frenchb]{babel}
\usepackage{pslatex}
\usepackage{graphicx}
\usetheme{Warsaw}
\title{Mise en œuvre de routeurs}
%\subtitle{}
\author{G.\textsc{Gaspard} - Plan-Net S.A}\institute{Licence Professionnelle 
ASRALL, promotion 2009}

\begin{document}

\begin{frame}
	\begin{left}
		\includegraphics[scale=0.3]{texdata/images/logouniv2.png}
	\end{left}
	\titlepage
	\includegraphics[scale=0.1]{texdata/images/Logo.png}
\end{frame}

\begin{frame}
	\frametitle{Table des matières}
	\tableofcontents
\end{frame}

\section{Le projet}
	\begin{frame}
		\frametitle{Le projet}
		Dans le cadre de mon stage chez Plan-Net S.A, j'ai été amené à effectuer
		un certain nombre de tâches parmi lesquels:
		\begin{itemize}
			\item Recherche et expérimentation sur la QoS 
			\item Installation et configuration de routeurs chez des clients
			\item Création d'un script pour automatiser l'installation des routeurs
			\item Migration des parefeux de la société
			\item Recherche sur la détection d'intrusion
		\end{itemize}
	\end{frame}

\section{La qualité de service, QoS}
	\begin{frame}
		\frametitle{La qualité de service}
		\begin{itemize}
			\item Qu'est-ce que c'est ? 
			\item Quel interêt ?
			\item Comment ça marche ?
		\end{itemize}
	\end{frame}

\subsection{La QoS, quels outils}
	\begin{frame}
		\frametitle{La QoS, quels outils}
		\begin{itemize}
			\item Webmin-Htb
			\item FWBuilder
			\item QtMonitor
		\end{itemize}
	\end{frame}

\subsection{FWBuilder, un outil très utile}
	\begin{frame}
		\frametitle{FWBuilder, un outil très utile}
		Avantages:
		\begin{itemize}
			\item Gestion simplifiée et centralisée de parefeux
			\item Gestion des règles de NAT et de routage en plus du filtrage
			\item Marquage de paquet (pour QoS)
			\item Outil graphique
		\end{itemize}
		Inconvénients:
		\begin{itemize}
			\item Manque de fonctionnalités au niveau de l'interface (ergonomie)
			\item Système de gestion des objets par identifiants
			\item Impossible de créer des objets directement en éditant le fichier
		\end{itemize}
	\end{frame}
	
\section{Automatiser l'installation des routeurs}
	\begin{frame}
		\frametitle{Automatiser l'installation des routeurs}
	    Lorsque je suis arrivé, j'ai tout du suite vu la complexité 
	    d'installation des routeurs, toute une série de commande est nécessaire
	    entre la copie de l'image et l'obtention d'un système stable.\\
	    J'ai donc créer un script pour automatiser tout cela.\\
	    Ce que fait ce script:
	    \begin{itemize} 
			\item Copie de l'image depuis le serveur NFS
			\item Personnalisation du système
			\item Mise à niveau du système
		\end{itemize}
	\end{frame}

\section{La migration des parefeux}
	\begin{frame}
		\frametitle{La migration des parefeux}
		À l'origine:
		\begin{itemize} 
			\item Règles de parefeux: /etc/SuseFirewall2
			\item Règles de NAT: /etc/SuseFirewall2 et /etc/rinetd
			\item Table de routage: chargée depuis un script au démarrage
			\item Chacun de ces éléments se retrouve sur chaque routeurs
		\end{itemize}
		Après migration:
		\begin{itemize} 
			\item Toutes les règles sont présentent en un unique emplacement:\\
			Le fichier objet de FWBuilder
			\item Toutes les configurations de parefeux sont centralisées dans 
			un seul fichier qui par sécurité est répliqué sur chacun de ces 
			postes. Cela permet de disposer en de la configuration de chaque 
			routeurs de la société depuis nimporte lequel d'entre eux.
		\end{itemize}
	\end{frame}
	
\begin{frame}
		\frametitle{Voici un aperçu de FWBuilder}
		\begin{figure}[H]
			\centering
%			\includegraphics[scale=0.35]{images/fwb.png}
			\caption{Aperçu de FWBuilder: Parefeux multiples}
		\end{figure}
	\end{frame}	
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
		\frametitle{LVS Nat}
        	\begin{itemize} 
		\item Isolation du cluster
		\item Peu de configuration à mettre en place
		\item Serveurs multi plate-forme
		\end{itemize}
	\end{frame}
	
\begin{frame}
		\frametitle{LdirectorD}
        	\begin{itemize} 
		\item Surveillance du pool de serveurs
		\item Requête sur une URL connue
		\item Réactivation automatique des serveurs up
		\item Interfaçage avec LVS
		\end{itemize}
	\end{frame}

\subsection{de haute disponibilité}
	\begin{frame}
		\frametitle{Les solutions de haute disponibilité}
		\begin{itemize} 
		\item Heartbeat
		\item DRBD
		\item MySql Replication
		\end{itemize}
	\end{frame}
	
\begin{frame}
		\frametitle{HeartBeat}
        	\begin{itemize} 
		\item Partie du projet Linux HA		
		\item Support de LdirectorD
		\item Prise en charge de défaillances réseaux
		\end{itemize}
	\end{frame}
	
\begin{frame}
		\frametitle{DRBD}
        \begin{itemize} 
        \item Mecanisme de réplication de données
		\item Réplication synchrone
		\item Configuration peut évidente
		\end{itemize}
	\end{frame}
	
\begin{frame}
		\frametitle{MySql Replication}
        	\begin{itemize} 
        \item Intégré à MySQL
		\item Réplication asynchrone
		\item Un maître et un esclave
		\end{itemize}
	\end{frame}
	
\section{Structure mise en place}
	\begin{frame}
		\frametitle{Structure mise en place}
		\begin{center}
		Étude de notre cas.
		%Démo pas à pas au tableau.		
		\end{center}
	\end{frame}

	\begin{frame}
		\frametitle{Structure mise en place}
		\begin{figure}[H]
			\centering
%			\includegraphics[scale=0.35]{images/arch.png}
			\caption{Structure finale}
		\end{figure}
	\end{frame}

\section{Protocoles de tests}
	\begin{frame}
		\frametitle{Protocoles de tests}
	        Les protocoles de tests permettent de mettre en évidence les réponses 
	        à divers types d'utilisation des serveurs Web. Il est ainsi possible
	        de tester:
	        \begin{itemize}
	        	\item Une montée en charge brutale.
	        	\item Une montée en charge réaliste.
	        	\item La commutation des équilibreurs de charge.
	        	\item La réplication de bases MySQL.
	        \end{itemize}
	\end{frame}

\subsection{Point de vue client}
	\begin{frame}
		\frametitle{Point de vue client}
			Tout l'intérêt d'une solution d'équilibrage de charge hautement disponible
			pour le client, réside dans le fait d'obtenir une navigation plus fluide
			sans être conscient de la présence de ce cluster.\\
			
			Intérêts:
			\begin{itemize}
				\item Gain de temps et de fluidité.				
			\end{itemize}
	\end{frame}
	
\subsection{Point de vue administrateur}
	\begin{frame}
		\frametitle{Point de vue administrateur}

			Pour un administrateur en revanche, l'interêt est bien plus concret puisqu'il

			s'agit d'optimiser la disponibilité de l'application Web tout en réduisant
			les ressources utilisées sur les serveurs. Celà permet d'économiser le
			matériel tout en gagnant en performance.\\
			
			Interêts:
			\begin{itemize}
				\item Économie de ressources.
				\item Augmentation de la durée de vie des serveurs.
				\item Optimisation de la disponibilité des serveurs.				
			\end{itemize}			
	\end{frame}
	
\subsection{Applications utilisées}
	\begin{frame}
		\frametitle{Applications utilisées}
			Afin de réaliser des tests de montée en charge, nous avons déterminés une liste
			d'outils libres très pratiques:
			\begin{itemize}
				\item Apache Benchmark
				\item Siège
				\item Httperf
				\item Tsung
			\end{itemize}
	\end{frame}

\begin{frame}
\frametitle{Application: Apache Benchmark}
\begin{itemize}
\item Concurrence des connexions.
\item Détermine le nombre de connexions / secondes.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Application: Httperf}
\begin{itemize}
\item Concurrence des connexions.
\item Gestion des sessions.
\item Version simplifiée: HTTP\_Load.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Application: Siège}
\begin{itemize}
\item Concurrence des connexions.
\item Gestion des sessions.
\item Gestion de scénarios.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Application: Tsung}
\begin{itemize}
\item Concurrence des connexions.
\item Gestion des sessions.
\item Utilisation en cluster.
\item Basé sur le langage Erlang. (langage orienté concurrentiel)
\item Support de nombreux protocoles (WebDav, SOAP, MySQL, Jabber, Html, …)
\item Gestion de scénarios.
\item Génération de graphiques et rapports.
\end{itemize}
\end{frame}

\subsection{Quelques résultats}
	
	\begin{frame}
		\frametitle{Quelques résultats du point de vue client}
			\begin{figure}[H]
				\centering
%				\includegraphics[scale=0.5]{images/phpnequbddPerf.png}
%				\includegraphics[scale=0.5]{images/phpequbddPerf.png}
				\caption{Comparatif de performance PHP sans puis avec équilibrage}
			\end{figure}
	\end{frame}	
	\begin{frame}
		\frametitle{Quelques résultats du point de vue client}
			\begin{figure}[H]
				\centering
%				\includegraphics[scale=0.5]{images/rubynequPerf.png}
%				\includegraphics[scale=0.5]{images/rubyequPerf.png}
				\caption{Comparatif de performance RoR sans puis avec équilibrage}
			\end{figure}
	\end{frame}
	
\begin{frame}
		\frametitle{Quelques résultats du point de vue administrateur}
			\begin{figure}[H]
				\centering
%				\includegraphics[scale=0.5]{images/phpnequbddUser.png}
%				\includegraphics[scale=0.5]{images/phpequbddUser.png}
				\caption{Comparatif d'utilisateurs PHP sans puis avec équilibrage}
			\end{figure}
	\end{frame}
	\begin{frame}
		\frametitle{Quelques résultats du point de vue administrateur}
			\begin{figure}[H]
				\centering
%				\includegraphics[scale=0.5]{images/rubynequUser.png}
%				\includegraphics[scale=0.5]{images/rubyequUser.png}
				\caption{Comparatif d'utilisateurs RoR sans puis avec équilibrage}
			\end{figure}
	\end{frame}	
	
	\begin{frame}
		\frametitle{Quelques résultats du point de vue administrateur}
			\begin{figure}[H]
%				\includegraphics[scale=0.25]{images/ganglia_CPU110.png}
				\caption{Ressources CPU du serveur surveillé}
			\end{figure}
	\end{frame}
	\begin{frame}
		\frametitle{Quelques résultats du point de vue administrateur}
			\begin{figure}[H]
%				\includegraphics[scale=0.25]{images/ganglia_Mem110.png}
				\caption{Ressources mémoire du serveur surveillé}
			\end{figure}
	\end{frame}
	
\section{Conclusion}
	\begin{frame}
		\frametitle{Conclusion}
		\begin{itemize}
			\item Gains importants.
			\item Peu vite devenir coûteux (redondance matérielle). 
			\item Mise en place presque transparente.
			\item Indispensable dans toute grande infrastructure.
		\end{itemize}
	\end{frame}

\end{document}
